
package org.finegold.core.delivery;

import org.finegold.core.tool.api.R;

/**
 * OssTemplate抽象API
 *
 * @author QinXueFeng
 */
public interface DeliveryTemplate {

	/**
	 * <B>Description:</B> 生成物流订单
	 * @author QinXueFeng
	 * @date 2020/9/18 18:20
	 * @param data sf:List<ShunFengModelDTO> jd:SendDelivery
	 * @return
	 */
	<T> R addDeliveryOrder(T data);

	/**
	 * <B>Description:</B> 修改物流订单
	 * @author QinXueFeng
	 * @date 2020/9/18 18:22
	 * @param data  sf:ShunFengModelDTO jd:UpdateDelivery
	 * @return
	 */
	<T> R updateOrder(T data);

	/**
	 * <B>Description:</B> 取消物流订单
	 * @author QinXueFeng
	 * @date 2020/9/18 18:22
	 * @param data  jd:UpdateDelivery
	 * @return
	 */
	<T> R cancelOrder(T data);

	/**
	 * <B>Description:</B> 查询订单状态接口
	 * @author QinXueFeng
	 * @date 2020/9/18 18:22
	 * @param data sf:ShunFengRouteDTO jd:UpdateDelivery
	 * @return
	 */
	<T> R getRouteService(T data);

	/**
	 * 打印面单
	 * @param data jd:UpdateDelivery
	 * @param <T>
	 * @return
	 */
    <T> R<String> generateOrder(T data);

	/**
	 * 获取面签单
	 * @param data jd:UpdateDelivery
	 * @param <T>
	 * @return
	 */
	<T> R<String> receiptFlagPhoto(T data);
}
